HCL
Skip to main content  
 
   


SPRTechnote


How To Interpret Debug_ThreadID Output in Correlation with a NOTES.RIP Generated in a Server Crash

Technote Number: 1086042


Problem:
Debug_ThreadID prints out information in the format: [ProcessID:Virtual Thread
ID-Native Thread ID]

For example, you may see at the top of a Notes.Rip file,

Quincy has detected the following fatal exception
Please report this crash to the vendor of the faulting application:
App: e:\Lotus\Domino\namgr.exe (PID=0x27C) "OleMainThreadWndName"
When: 10/17/2001 @ 20:6:7.0
Exception Number: 0xC000001D (illegal instruction)
Exception Flags: 0x00000000 (continuable)
Notes Build: Release 5.0.6a |January 17, 2001
Hotfixes:
none...

State Dump for Thread ID 0x287

In the above RIP the faulting application Process ID (PID) is 0x27C and the
Thread ID that is dumped is 0x287. These correspond to the first and last
values in the brackets of "027C" and "0287". In the RIP file, hex values are
denoted by a preceding '0x,' and in the Debug ThreadID output, PID and ThreadID
information is formatted with preceding zeroes to fill up four digits.
Searching through a Debug_Outfile when the above crash occurred, would allow
you to trace back the matching Process ID and Thread ID that crashed, and see
what activity corresponded to the [PID:xxxx-ThreadID] pairing. The virtual
threadID is not important in this example.Supporting Information:

Process ID's are re-assigned by the OS to Domino, so tracking a PID back
historically through some debug output can assist in tracking down problems
that may be related to PID re-usage. For example, if a prior Domino process
did not terminate properly, there may be stale data in our memory map that will
cause a crash if we try to use it. For PID re-usage issues, an additional
debug parameter of Debug_InitTerm=1 may be necessary.

Definitions:

PID = Process ID = A unique number assigned to a process by the operating
system. The number is used internally by processes to communicate.

Thread ID = The unique integral number that can be used to identify a thread.

Thread = The smallest unit of operation to be performed in a process. A stream
of computer instructions that is in control of a process. A multithread process
begins with one stream of instructions (one thread) and may later create other
instruction streams to perform tasks.

Virtual Thread = Domino uses a threadpool model to maximize thread usage at the
operating system level. In order to accomplish this, Domino create a pool of
Virtual Threads, that will map to an actual thread when needed. This model
allows us to minimize the number of concurrent active threads and thereby
increase efficiency.
Related Documents:

More >





  Document options
Print this document
Print view

  Search
Search Advanced Search


  Fix list views

 RSS feeds   RSS
Subscribe to the fix list

  Resources
Using this database
View notices

  HCL Support
HCL Support


    About HCL Privacy Contact